<?
/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Agenda_exe( $this );

	class Agenda_exe extends Exe
	{
	function Agenda_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
	function updateStar()
		{
			$ncAgenda = getParam( 'ncAgenda' );
			$bEstrella = getParam( 'bEstrella' );
			if ( $ncAgenda )
			{
				$this->oDatabase->update( "atAgenda", "bEstrella", $bEstrella, "WHERE", "ncAgenda", $ncAgenda );
			}
		}
	function updateTag()
		{
			$ncAgenda = getParam( 'ncAgenda' );
			$ncRotulo = getParam( 'ncRotulo' );
			$cNewItem = getParam( 'newItem' );
			if ( $cNewItem )
			{
				$ncRotulo = $this->oDatabase->nextKey( "atRotuloAgenda", "ncRotulo" );
				$bOk = $this->oDatabase->insert( "atRotuloAgenda", "ncGrupo", obtenerMiGrupo(),
										"ncRotulo", $ncRotulo, "cdRotulo", $cNewItem );
			}
			if ( $ncAgenda && $ncRotulo )
			{
				$bOk = $this->oDatabase->insert( "atAgendaRotulo",
										"ncRotulo", $ncRotulo, "ncAgenda", $ncAgenda );
			}
		}
	// MODIFICAR_AGENDA
	function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Agenda_frm' );
			extract( $oForm->getFieldArray() );
			// Modifica el Registro de Agenda
				$this->oDatabase->update("atAgenda",
								"ncVisibilidad", $ncVisibilidad,
								"ncGrupo", obtenerMiGrupo(),
								"ncCategoriaAgenda", $ncCategoriaAgenda,
								"cdAgenda", $cdAgenda,
								"cUbicacion", $cUbicacion,
								"cDescripcion", $cDescripcion,
								"dDesde", $dDesde,
								"dHasta", $dHasta,
								"nHoraDesde", $nHoraDesde,
								"nHoraHasta", $nHoraHasta,
							"WHERE",
							"ncAgenda", $ncAgenda );
			if ( $ncProyecto )
			{
				$this->oDatabase->insert("atProyectoAgenda", "ncAgenda", $ncAgenda, "ncProyecto", $ncProyecto );
			}
		}
	// AGREGAR_AGENDA
	function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Agenda_frm' );
			extract( $oForm->getFieldArray() );
			$ncEmisor = $this->oModule->oUserSession->getUser();
			// Agrega la Agenda
				$ncAgenda = $this->oDatabase->nextKey("atAgenda", "ncAgenda");
				$this->oDatabase->insert("atAgenda",
								"ncVisibilidad", $ncVisibilidad,
								"ncGrupo", obtenerMiGrupo(),
								"ncCategoriaAgenda", $ncCategoriaAgenda,
								"cdAgenda", $cdAgenda,
								"cUbicacion", $cUbicacion,
								"cDescripcion", $cDescripcion,
								"dDesde", $dDesde,
								"dHasta", $dHasta,
								"nHoraDesde", $nHoraDesde,
								"nHoraHasta", $nHoraHasta,
								"ncUsuario", $this->oModule->oUserSession->getUser(),
								"ncAgenda", $ncAgenda );
			$aPersonas  =  explode ( ",", $aInvitados);
			foreach ( $aPersonas as $ncPersona)
			{
				$this->oDatabase->insert("atAgendaInvitado",
								"ncPersona", $ncPersona,
								"ncConfirmado", 1,
								"ncAgenda", $ncAgenda );
			}
			if ( $ncProyecto )
			{
				$this->oDatabase->insert("atProyectoActividad", "ncAgenda", $ncAgenda, "ncProyecto", $ncProyecto );
			}
		}
	// ELIMINAR_AGENDA
	function delete()
		{
			$ncAgenda = getParam( 'ncAgenda' );
			if ( $ncAgenda )
			{
				$this->oDatabase->delete( "atAgenda", "ncAgenda", $ncAgenda );
			}
		}
	}
?>
